package Gather.StreamExercise.StreamDome001;

import java.util.ArrayList;

/**
 * ClassName:StreamDome001
 * Package:Gather.StreamExercise
 * Description:
 *
 * @Author:ZhangXin
 * @Create2023/2/23-21:42
 * @Version:v1.0
 */
public class StreamDome001 {
    /*需求：按照下面的要求完成集合的创建和遍历
     *       创建一个集合,存储多个字符串元素
     *
     * 1.把所有以"张"开头的元素存储到新的集合中
     * 2.把"张"开头的,长度为3的元素在存储到新的集合中
     * 3.遍历打印最终结果*/
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>();
        list1.add("张无忌");
        list1.add("周芷若");
        list1.add("赵敏");
        list1.add("张强");
        list1.add("张三丰");

//        getTreeName(list1);

        list1.stream().filter(name->name.startsWith("张")).filter(name->name.length()==3).forEach(name-> System.out.println(name));
    }

    private static void getTreeName(ArrayList<String> list1) {
        //1.把所有以"张"开头的元素存储到新的集合中
        ArrayList<String> list2 = new ArrayList<>();
        for (String name : list1) {
            if (name.startsWith("张")) {
                list2.add(name);
            }
        }
//        System.out.println(list2);

        //把"张"开头的,长度为3的元素在存储到新的集合中
        ArrayList<String> list3 = new ArrayList<>();
        for (String name : list2) {
            if (name.length()==3){
                list3.add(name);
            }
        }
        //遍历打印最终结果
        for (String name : list3) {
            System.out.println(name);
        }
    }
}
